package business.aluguel;

import java.util.ArrayList;
import java.util.List;
import business.sistema.ObjetoSistema;

public class PosicaoAluguel extends ObjetoSistema
{
	private static final long serialVersionUID = -7623213865851949657L;
	private int codigo;
	private String nome;
	private ArrayList<PosicaoAluguel> todasPosicoes = null;
	
	public static final String ABERTO = "Aberto";
	public static final int CODIGO_ABERTO = 1;
	public static final String ATRASADO = "Atrasado";
	public static final int CODIGO_ATRASADO = 2;
	public static final String FECHADO = "Fechado";
	public static final int CODIGO_FECHADO = 3;
	
	public int getCodigo()
	{
		return codigo;
	}
	
	public void setCodigo(int codigo)
	{
		this.codigo = codigo;
	}
	
	public String getNome()
	{
		return nome;
	}
	
	public void setNome(String nome)
	{
		this.nome = nome;
	}
	
	public List<PosicaoAluguel> obterTodasPosicoes()
	{
		if(todasPosicoes == null)
		{
			String[] lista = {ABERTO, ATRASADO, FECHADO};
			todasPosicoes = new ArrayList<PosicaoAluguel>();
			
			for(int i = 1; i <= lista.length; i++)
			{
				PosicaoAluguel posicaoAluguel = new PosicaoAluguel();
				
				posicaoAluguel.setCodigo(i);
				posicaoAluguel.setNome(lista[i - 1]);
				
				todasPosicoes.add(posicaoAluguel);
			}
		}
		
		return todasPosicoes;
	}
	
	public static PosicaoAluguel ABERTO()
	{
		PosicaoAluguel posicao = new PosicaoAluguel();
		
		posicao.setCodigo(CODIGO_ABERTO);
		posicao.setNome(ABERTO);
		
		return posicao;
	}
	
	public static PosicaoAluguel ATRASADO()
	{
		PosicaoAluguel posicao = new PosicaoAluguel();
		
		posicao.setCodigo(CODIGO_ATRASADO);
		posicao.setNome(ATRASADO);
		
		return posicao;
	}
	
	public static PosicaoAluguel FECHADO()
	{
		PosicaoAluguel posicao = new PosicaoAluguel();
		
		posicao.setCodigo(CODIGO_FECHADO);
		posicao.setNome(FECHADO);
		
		return posicao;
	}

}
